# 1.输入一个年份，和一个月份，计算该月有多少天其中需要判断闰年，闰年的条件为：年份能被4整除但不能被100整除，或者年份能被400整除
dict={1:31,2:28,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31}
year=int(input('请输入年份：'))
month=int(input('请输入月份：'))
if year%4==0 and year%100!=0 or year%400==0:
    dict[2]=29
print(f'{year}年{month}月有{dict[month]}天')
#2、输入4个数，从小到大排列
def asc_number(a,b,c,d):
    lst=[a,b,c,d]
    lst.sort()
    print(lst[0],lst[1],lst[2],lst[3])
a = int(input('请输入第一个数:'))
b = int(input('请输入第二个数:'))
c = int(input('请输入第三个数:'))
d = int(input('请输入第四个数:'))
asc_number(a,b,c,d)
# 3、输入一个三位数，百位、十位、个位 分别存到a,b,c中
#     输出：“百位是a,十位是b,个位是c”
n=int(input('请输入一个三位数'))
if n<100 or n>999:
    print('输入的数字有误')
    n=int(input('请从新输入一个三位数：'))
else:
    c=(n%100)%10
    b=n%100//10
    a=(n-b*10-c)//100
    print(f'百位是{a},十位是{b},个位是{c}')
'''4、输入0-100的整数，90-100 评分为A，80-89评分为B，70-79评分为C，60-69评分为D，0-59评分为E。 *****
   要求能够重复输入
   如果输入为负数，则转化为正数
   如果输入为小数，则转化为整数

   如果输入大于100或者小于-100，则游戏结束'''
while True:
    try:
        score=int(float(input('请输入分数：')))
        if score>100 or score < -100:
            print('游戏结束')
            break
        elif -100<=score<=100:
            score=abs(score)
            if 90<=score<=100:
                print('评分为A')
            elif 80<=score<=89:
                print('评分为B')
            elif 70<=score<=79:
                print('评分为C')
            elif 60<=score<=69:
                print('评分为D')
            else:
                print('评分为E')
    except ValueError:
        print('输入的分数有误，请重新输入：')
        continue
# 5、输入某年某月某日，判断这一天是这一年的第几天？（1-12月的天数你是知道的，用列表存起来）
while True:
    days=[0,31,29,31,30,31,30,31,31,30,31,30,31]
    year=int(input('请输入年份：'))
    month=int(input('请输入月份：'))
    date=int(input('请输入某日：'))

    if (not(year%4==0 and year%100!=0) or year%400==0) and month==2 and date==29:
        print('该年是平年，2月没有29日')
        break
    whichday=0
    if (year%4==0 and year%100!=0) or year%400==0:
        for i in range(0,month):
            whichday=whichday+days[i]
        whichday+=date
        print(f'这一天是这一年的第{whichday}天')
    else:
        days[2]=28
        for i in range(0,month):
            whichday=whichday+days[i]
        whichday+=date
        print(f'这一天是这一年的第{whichday}天')
#6、0-100之间，能被3整除的数	**
while True:
    a=int(input('请输入0-100的数：'))
    if(a%100+a%100//10+a%100%10)%3==0:
        print('这是一个能被3整除的数')
    else:
        print('这个数不能被3整除')
#7、while列出100-999之间的水仙花数（每一位上的立方和等于这个数，如153=1+125+27）
n=100
while n <=999:
    c=(n%100)%10
    b=n%100//10
    a=(n-b*10-c)//100 #print(f'百位是{a},十位是{b},个位是{c}')
    if n==c**3+b**3+a**3:
        print(n)
    n += 1








